/*****************************************************************************************
 * ETS
 * 
 * Cours:		LOG121
 * Session:		A2013
 * Groupe:		04
 * Projet:		Laboratoire #4
 * Etudiants:	Frederic-Simon Mimeault
 * 				Francisco Felipe Quilodran
 * 				Guillaume Longtin
 * 				William Proulx
 * 
 * Professeur:	Francis Cardinal
 * 
 * Fichier:		AbstractFabriqueCommande.java
 * 
 * Date de creation:	2013-11-23
 * Date dern. modif.:	2013-11-26
 * ****************************************************************************************
 * Historique des modifications
 * ****************************************************************************************
 * 2013-11-23 Version initiale
 * 2013-11-26 Implementation des methodes dinstanciation de commandes
 *****************************************************************************************/

package modele;

import java.awt.Point;

/**
 * Classe abstraite qui permet de générer des commande.
 * C'est le patron de conception Fabrique qui est mis en place dans cette classe.
 * @author Frédéric-Simon & Guillaume Longtin
 *
 */
public abstract class AbstractFabriqueCommande {
	/**
	 * Méthode qui instancie une commande de translation.
	 * @param deplacementX Valeur de déplacement en X
	 * @param deplacementY Valeur de déplacement en Y
	 * @return Une commande Translation correspondant aux paramètres reçus
	 */
	public static CmdTranslation genererCommandeTranslation(Perspective perspective, int deplacementX, int deplacementY) {
		
		return new CmdTranslation(perspective, deplacementX, deplacementY);
		
	}
	
	/**
	 * Méthode qui instancie une commande de zoom.
	 * @param modificationEchelle Valeur de l'échelle de zoom
	 * @return Une commande Zoom correspondant au paramètre reçu
	 */
	public static CmdZoom genererCommandeZoom(Perspective perspective, int modificationEchelle) {
		
		return new CmdZoom(perspective, modificationEchelle);
		
	}
}
